package com.jhmk.jhecis.utils;

import java.io.File;
import java.lang.reflect.Method;
import java.net.URL;
import java.net.URLClassLoader;

public class ReflectionUtil {

    public static String Invoke(String jarUrl,String className,String methodName)  {
        String msg="ok";
        try {
            // 假设你有一个名为example.jar的文件，它包含了一个可访问的类com.example.MyClass
            File jarFile = new File(jarUrl);
            if (!jarFile.exists())
            {
                return "找不到文件！";
            }
            URL url = jarFile.toURI().toURL();
            URL[] urls = new URL[]{url};
            // 使用URLClassLoader来加载jar文件
            ClassLoader cl = new URLClassLoader(urls);
            Class<?> clazz = cl.loadClass(className);
            // 创建类的实例
            Object instance = clazz.newInstance();
            // 获取要调用的方法
            Method method = clazz.getMethod(methodName);
            // 调用方法
          return  method.invoke(instance).toString();
        } catch (Exception e) {
           return e.toString();
        }

    }
}
